//
//  CTVChannelMenuController.h
//  Channltv
//
//  Created by Bruno Keymolen on 07/09/07.
//  Copyright 2007 channl.tv. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import "CTVChannel.h"
#import "CTVHTTPMediaDownload.h"
#import "CTVSync.h"


@interface CTVChannelMenuController : BRMediaMenuController <BRMenuListItemProvider, CTVMediaDownloadUpdate, CTVSyncListener> {
	CTVChannel* m_channel;
	long m_previousRow;
	float m_clipRowItemHeight;
}

- (id) initWithScene: (BRRenderScene *) scene andChannel:(CTVChannel*)channel;
- (void) dealloc;

- (void) itemSelected: (long) row;
- (id<BRMediaPreviewController>) previewControllerForItem: (long) item;

- (id)popAnimation;
- (id)pushAnimation;
- (void)willBePopped;
- (void)willBePushed;
- (void)wasExhumedByPoppingController:(id)fp8;

//BRMenuListItemProvider
- (long) itemCount;
- (id<BRMenuItemLayer>) itemForRow: (long) row;
- (NSString *) titleForRow: (long) row;
- (long) rowForTitle: (NSString *) title;


//CTVMediaDownloadUpdate
-(void)downloadPercent:(int)pc;
-(void)downloadFinish;
-(void)downloadError:(int)errorcode;

//CTVSyncListener
-(void)syncStarted;
-(void)syncStopped;
-(void)syncWillFinish; 

//NSObject
- (id)retain;
- (oneway void)release;
- (id)autorelease;
- (unsigned)retainCount;

@end
